Initial changes to make screen size scalable

A lot more work to do yet, but this is a start...