Improved memory footprint by adding more efficient getElementsByIds
function to TPG and using -threaded RTS option.  Also changed Chan usage
to be more idiomatic.
Big facelift for GUI, including overlay.