Include missing initalisation code

Properly set the series of registers involved in setting up input, and
output from the hardware.

Without these flags the rest of the system recieves no notifications,
and cannot communicate with the board.

Also swap the values of `wInput`, and `wOutput` found in
'src/scheduler.c'.
Enforce consistency for floor access over threads

Introduce the functions `GetCurrentFloor`, and `SetCurrentFloor`
functions to wrap accesses to `wCurrentFloor` in a mutex.

Accesses to the variable occur over several threads; to prevent issues
of consitency, enforce access through modification functions.