Add support for software rendering. There are still a few issues with having the proper color format, but these will be ironed out with future commits.