Creates a generic preference page for syntax colouring

With some initial reorganization of code.