Return error for msgpack-rpc requests

- We don't handle msgpack-RPC requests yet, but we need to return
  an error response
New signal NeovimConnector::processExited

- When launching Neovim through ::spawn we need to know when the process
  exits, this signal is emitted when that happens
For Gcc/Clang be pedantic

- Brought back -Wall and -Wextra
Remove unnecessary connection to discoverMetadata
Update bindings
Add remote UI methods

- This commit adds methods to attach/detach and resize the UI - for
  now this is temporary, I've placed these in the NeovimConnector
  class until these are part of the metadata (they should be in the
  Neovim class)
Initial support for the abstract UI

- New class Shell exposes a GUI for Neovim
- New binary nvim-qt to start a GUI
* There are still issues that need fixing: keyboard input and
  resize
Don't paint widget when detached from Neovim

- When there is no connection to Neovim, or the connection was lost,
  don't paint on the widget, just show an empty window
Handle GUI window close event

- When a user presses the close button on a window we translate the
  event into :qa
- If the GUI is not attached to a Neovim instance the event is propagated
  i.e. the Window is closed
Close GUI when spawned Neovim exits
Fix compiler warnings in Shell class
Draw fullwidth chars

- Fullwidth chars take up two cells, Neovim signals this case
  by sending an empty char after a full width char
- The background painting for redraw:put notifications
  is now grouped into a single operation
- handlePut now only draws one char, that may leak into the
  next cell (because it is fullwidth)
Fix unused check expression

- For some reason GCC failed to warn about that statement, Clang
  caught it though.
Initial support for input handling

- Moved conversion between Qt input and Neovim key notation, into a
  new class.
- We can handle some special keys along with keyboard modifiers, but
  we are still missing modifiers along with some keys.
Removed call to redraw

- The call redraw! does not work as intended as should not be necessary
  anyway.