Major progress.

Real abstractions on canvas/font.
Cleaned up package dependencies.
Introduced layout -- incomplete transition.