fixed text sizing
moved contexts into draw methods and pass canvas instead
small param tweaks to make display a bit better