Abstract Bitmap source from Texture implementation.

But note we still only have a simple PNG source that assumes it's
desired format.... :-/