Introduces a DrawManager so Clock doesn't have to do all the work

This will facilitate drawing several clocks recursively. This commit also adds
the notion of a box width for a clock so we can easily draw sub-clocks smaller