Image resource, PNG loading, and some graphics changes

Images support loading PNG from a stream. PNG features include:
- All bit depths are supported for indexed, RGB and RGBA
- 8 and 16 depths are supported for greyscale, greyscale with alpha.
- Adam7 Interlacing is supported.
- PNG attributes/comments available as properties.

Graphics changes consist of:
- moving classes for graphics primitives to graphics dir and namespace
- addition of a basic texture class (allows loading from image resource)

Other things:
- Fixed a transform test that was comparing floats wrong
- CRC32 and adler32 checksums (used by PNG)
- "Inflate" decompression.
- Added some cmake search paths
- a few random indentation and spelling fixes
- simple stream abstraction class with chaining/filtering (also used by PNG)
- no added dependancies