Added some javadoc comments for shapes and transforms.  Refactored some of the drawing to better fall back when a platform or graphics context doesn't support shapes or transforms.