Ride window

Finally finished the ride window which is over 5600 lines. Doing this has gained lots of information about the ride structures which should be useful to many other routines. Given that this is a hefty merge, I thought I'd do a pull request for a second pair of eyes to make sure I haven't made any obvious mistakes.

Current bugs:
* Drawing the vehicle in the second tab is slightly offset than normal.
* Drawing the vehicle preview in the paint tab does not draw properly.
* Maintenance tab, the percent strings are drawn on the left rather than the right.

I think the above problems are due to the drawing / string routines rather than this code.