All moon_init functions return their top-level class object

These objects are assigned to moon_c/mKlassName variables
Sprite now uses moon moon_mrb_check_class to validate object types
More tests!

Validate that Sprite behaves as expected when changing textures and setting
invalid textures