Added a rudimentary save system
Saves will self check when created, i.e they'll validate and return
false if they saved badly. Saves will also rewrite themselves on a bad
save.

CreateSaveScene and LoadMenuScene now create saves and load saves
respectively

Added AnimatedBufferedImage - represents an animated image
- ABI can animate per number of frames (calculated animation) or per
draw call (fixed animation) or based on input (forced animation)

Updated Cache to handle ABI
Updated Cache's "other" function to take a type parameter - saves
casting.