Initial refactoring

Things done:

 * Refactor gas/brake from Button to ToggleButton
 * Add an AccelerationState enum for more readable code and better encapsulation
 * Create manual/tilt mode difference
 * Add comments, clarify code
 * Remove redudancies and insert function calls where they should be