Add CFLAGS variable to compile stage

Use strict warnings to help in catching errors, and include a TOH flag
for compiling toh with the alternative keyboard backend.
toh: Add an optimised peek_disk_index() implementation

This greatly reduces the execution time of the (push|peek|pop)_disk()
operations, and removes the duplication of the while loops by
abstracting them into a single location.
toh: s/unsigned int/disk_t/g
toh: Cache each rod's disk index

Devote element 0 in each rod array to being an index value for the top
disk on that rod. So, for example, on a rod with five disks, the rod
array would contain:

 rod = { 5, 5, 4, 3, 2, 1, 0, ..., 0}

Removing the top disk would decrement this value. The resulting array
would contain:

 rod = { 4, 5, 4, 3, 2, 0, 0, ..., 0}