Proper input control! And some other stuff

-Added new Buttons class to more tidily handle button presses
-Contains former prevButtons and curButtons uint16_ts
-Provides 10 functions for when any certain button is being held
-Also 10 more functions for when any button has just been pressed
-Added temporary 3rd cube for testing purposes
-Had to increase the cubes array index in Level.h
-This has me stumped for such a long time!
-Added broken code for player holding cubes
-May reimplement with better data structure in next commit
-Added Level::UpdateObjects() to separate updating objects from drawing
level
-Uses SetObjectX/Y instead of SetObject on cubes
-This fixes strange graphical glitch at right side of top edge
-Seems to change with altering entity velocities
-Only draw level once at beginning before main loop
*On a blue moon, if you jump into a falling block from the side, you
shoot up into the ceiling.
-Updated gitignore to ignore depend.mk and main.elf