Merge in refactoring

Hopefully what I'm going for here makes sense. Things I was trying to do:
-Establish a consistent hierarchy of objects
-Provide a decent parent class for adding generic div elements with some basic functionality
-Establish some standard for getter/setter functions, and get rid of as many direct calls to properties as I could
-Move objects into individual files (I missed Keyboard lol)