Updated canvas to use retained font
Added polygon and rectange case classes; updated draw methods to use