UI: flush out majority of missing tests

Adds tests for most operations / functionality in the UI

Contains a few stubbed out tests around navigation lists
effects & canvas mouse interactions.

Also extracts many common entity gfx operations into
seperate mixin which is also tested here