True object-oriented framework for HTML Canvas widgets