Moves color_defs into constants.
Adds textbox object for writing stuff to screen.
Adds framerate counter.
Adds recording flag which will dump frames to disk.
Adds some gitignore since I'm sometimes generating ignorable data.
Changes the interface on load() to be kwargs since some objects may have
different load kwargs (like image templates, etc).
Bugfix on layer.surface defaults.