New Matrix implementation and Bitmap creation metadata.

This pull adds a fresh implementation of how operations on Matrix instances are recorded. Normal operations (`setRotate`, `setSkew`, etc.) are kept in a map of operation key to a string representation of the operation's data. Operations that are 'pre' or 'post' are kept in a stack and queue, respectively, using the concatenation of transformation key and value representations.

Bitmaps also now record metadata about their creation. The use of a source Bitmap, stream, file path, resource, or byte array is kept in the shadow, along with information about filtering, a matrix transformation, or cropping. This allows for verifying the operations taken in complex creation or a chain of transformations.