Define AbstractRGB, AbstractAlphaColorValue for different memory layouts

This also adds some missing conversions for RGB24 and tests them
Rename RGBA32->ARGB32 to reflect layout; add tests for new layouts
Update the README
Improve eltype and make it work for AlphaColorValues

Also test that it's not possible to construct an AlphaColorValue
with mismatched types.
Fix a broken conversion
Merge pull request #57 from JuliaLang/teh/layout

Support alternative layouts in memory