Add applicative instance for UI
Merge pull request #68 from Shimuuar/applicative-UI

Add applicative instance for UI
Add API (`setFont`, `fillText`, and `strokeText`) to put text on the canvas.
Merge remote-tracking branch 'upstream/develop' into canvas