Unify interaction with the outside world

Author the macros `ClearInput, `SetInput`, `TestOutput` that should be
used to query, and set the state of the general register in charge of
the hardware.

Control of the hardware is performed through the setting of values in
certain registers because this process is always the same it can be
abstracted away from specific registers.