Use shared_ptr instead of reference to make it easier. Fixed a bug where the source and dest of the porterduff parameters where inverted.
Code clean.
Store drawable data as shared_ptr instead of raw pointers.
Added basic shape masking on gpu side, still need arc and ellipse though.