Adding support for shadows and insets.
Renamed `imageWithSize` to `renderAtSize` for more consistency (and to avoid confusion with convenience constructors)
Conforming to <NSCopying> + using NS_DESIGNATED_INITIALIZER