Text field width fixes

This pull request fixes two issues surrounding the size of text fields.

Firstly, it introduces new methods to TextWidget to allow a preferred size to be set (specified in characters). It then uses that to request more space for all PathWidgets, which has the knock on effect of increasing the default width of the OpDialogue for all ops containing PathParameters. This addresses #515.

Secondly, it fixes the field width changing any time a new start/end value is entered in the Timeline. This one isn't in the milestone but it's been bugging me and it was a quickie, and related to getting field sizes right in general.

I haven't added support for parameter user data to drive the preferred/fixed widths of text fields - this would be easy enough to do but wasn't part of the original #515, and I'd rather see if this simple improvement is sufficient before going and adding more options all over the place.