refactor: Reimplement the canvas with QWidget

Now we can utilize full pixels under HiDPI environments and get rid of
the hack related to tablet events (LTabletEventDispatcher).