Improved handling when encountering bad keys.

Previously the exception would be raised, preventing the buffer from being reset.  No error message was printed to the log window, however, so a confusing set of keystrokes would be duplicated without any indication as to why.
Handle typing single quote characters in the client window.
Scope the exception handling a bit better.
Merge pull request #47 from nirvdrum/client_window_improvements

Client window improvements
Make plugins in config file for server optional.
Clarify that plugins are optional.
Fix typo.
Merge pull request #50 from calmofthestorm/plugins_are_optional

Improve plugin interface
Don't create a ProxyText object if there's no text in the buffer.

The pathological case here is when using Dragon's 'delete that' command.  It will send a series of 'backspace' keys.  Without this change, every 'backspace' key press will be preceded by an empty ProxyText call, effectively doubling the amount of RPC calls we'd make.
Use the proper dragonfly special key name for 'delete' in the client window.
Merge pull request #52 from nirvdrum/fix_delete_in_client_window

Use the proper dragonfly special key name for 'delete' in the client win...
Merge pull request #51 from nirvdrum/client_window_optimization

Don't create a ProxyText object if there's no text in the buffer.
Make aenea accept delete for Dragonfly compatibility.
Merge pull request #53 from calmofthestorm/delete_dragonfly_compat

Make aenea accept delete for Dragonfly compatibility.
Add grammar to switch capture on/off.
Merge pull request #54 from calmofthestorm/switchable_dictation_capture

Add grammar to switch capture on/off.