Reorders arguments to minimize compiler warnings.

Many of these are warnings generated by G++ when compiling with MinGW.
Although the re-ordering isn't necessary because the various parameters
don't depend on previous ones, it's still good practice.
Fixes button check for valid state.
Fixes more compiler warnings.

Most of these warnings are again constructor initializer-list
re-ordering warnings from MinGW. There are also a few type comparison
warnings fixed, and some un-used variables removed. Further inspection
actually also fixes a memory leak when loading invalid RGB[A] textures.
Adds the ability to remove lights from scenes.
#4: Defaults arbitrary vertices to being concave.
Fixes wrong container reference in new feature.