Edited SessionManager's onCameraEvent

Implemented the onCameraEvent so that it will distribute the event to
the appropriate classes.
Also implemented the creation of the menu and the database.
Also added the saveProject() method that is required for the user to
save projects.
Added type enum

Added the type enum that describes what user action is being attempted.
Added ConstructionBlock constructor

Added a nice and useful constructor that takes a smartBlock and
cameraEvent as parameters (since that is what a constructionBlock
wraps).
Added menu traversal system

Added a menu traversal system that takes commandBlocks as input and then
performs the appropriate action depending on the current menu state. It
is not finished... The menu provides no output. Also the slot chooser
state does not yet work.