Ignore function attribute deferred
UTF8 fallback for encode/decode with no connection

- Add qWarning message when encoding/decoding before the connection
  is established
- Fallback to utf8
Pass neovim ::spawn() parameters at the begining

- When spawning Neovim with command line parameters, pass the given
  parameters first, and --embed at the end
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