Added support for rendering images or for providing custom images

Changed the default behavior to render the needed artwork rather than load the images from files. You can change the colors used for rendering by subclassing and overriding the methods that provide the colors.

It is still possible to use image files instead of rendering the images by subclassing and overriding the methods that provide the images. There are also now methods that can be overridden to change the size and inset information in case your custom artwork doesn't match the dimensions of the rendered images.

I am a struggling independent developer with limited image editing skills, so I tend to render as much artwork as possible in code rather than pay an artist to create it for me. It was a pleasure adding support for this feature to this very helpful class :)