Major rewrite
Moved most user input handling to the glut callbacks.
Buttons and Counters now support callbacks on clicking and value changing, but they are limited to the App class,
so they're pretty much C style callbacks.
Added a few UI elements:
	Text input box
	Linear container for basing automatic layout setting
	Label for simply displaying text
Wrote a system for representing all possible orientations, though it should be moved out of the DensePiece class
to make it reusable for the future animation system.
Rewritten the solver a bit to make it more readable.
Solver now does most of the work in a separate thread, so that the main thread can keep on updating the UI.