Let chooser windows remember their size (after relaunch)

Previously only the favorites / recent projects chooser would remember window size after a relaunch.
Don’t overload interpretKeyEvents:

The documentation does say that subclasses shouldn’t overload it, we only call it from a single location, and here we may want to instead use the input context’s handleEvent:.
Remove unnecessary method signatures from private interface
Implement NSTextInputClient protocol instead of NSTextInput
Move protocol conformance declaration to implementation file
Do not disable Apple’s “press and hold” accent feature

With NSTextInputClient conformance this feature works fairly well, though we currently do not pass events (that we have an action for) to the current input context, which e.g. means that arrow left/right cannot be used to move through the variations.
Be smarter about testing if replace text field has focus

Rather than skip the field editor, regardless of which view it belongs to, we check if the first responder is the replace text field’s (current) field editor.
Use NSMaxRange helper function
Use local event monitor to handle multi-stroke key bindings

This avoids a state variable and the need for dealing with successive strokes in performKeyEquivalent: (to swallow bound keys before the main menu has a chance to handle it).
Eliminate typedef
Let input context handle most key events

This is because the input context may open windows where it wants to handle arrow or number keys.

Unfortunately we can’t tell the system about our local key bindings, so we need to handle those ourself.

The system does not respect bindings for delete and arrow keys with control modifier set, so those we still handle.

We also handle multi-stroke key bindings, since handling successive key strokes should be done before menu keys, which the system doesn’t do (as we don’t call upon the system until keyDown:).
Add to_s for NSAttributedString and id
Use to_s on the insertText:/setMarkedText: argument
Remove NSString* typecast when using to_s helper

This has a small run-time cost but source looks better and theoretically safer code.
Use to_s instead of sending UTF8String
Checkin release notes
Change NSSingleUnderlineStyle → NSUnderlineStyleSingle

The former is a legacy symbol.
Don’t support dispatch queue parameter for runner_t::launch

We do not use it and starting with the 10.8 SDK, dispatch types are Objective-C objects when building as Objective-C(++), which is a problem for a header that is included from both C(++) and Objective-C(++).
Use CFURL API for getting and setting label color
Simplify relaunch code