Implement LESS image embedding
This patch adds two custom LESS functions: embeddable() and embed(). Both
functions take a single image file reference as their sole argument.
- embeddable() is a predicate function (= returns a LESS boolean value) that
checks whether an image is suitable for embedding. An image is suitable if it
exists, has an appropriate MIME type, and is not too large.
- embed() generates a CSS url() value that contains the reference image encoded
as a data URI.
The existence of the predicate function allows embeddable() to be used as a
mixin guard. This provides an elegant means of generating a single rule when
the image is not embeddable and multiple rules (the data URI & fallback) when
it is. This technique is used to implement a .background-image mixin, included
in this patch.
Change-Id: I3e06b6d6e8630b7923fa42b3daf1ced3e656bbe7