– convert the Dimension and Position2Raw types to proper classes, not just aliases
– fix errors resulting from that
– fix up smaller problems that have been hiding in the code
– always draw the UI on top of everything else
We needs some custom logic in the Dimension/Position2Raw types, so they need to be proper classes themselves. This also adds the need for a fair amount of casts.