Fix GuiLinespace overflow for negative integers
Fix GuiLinespace overflow for negative integers

The Gui Linespace rpc, when given negative values applied different
behaviour when the value was a string or an integer.

For strings it coherced the value to 0.

For negative integers it coherced the value to max int.

Even if in practice large values are ignored in practice it created a
descrepancey based on the passed in type.

The core of the issues is that Qt allows a QVariant to be converted to
an unsigned in even if the value is a signed long long which is then
converted to an unsigned int i.e. overflowing it. This issue is
documented in the Qt docs

    http://doc.qt.io/qt-5/qvariant.html#toUInt

The workaround is to convert to string before converting to uint.

ref #369

equalsraf/neovim-qt,equalsraf/neovim-qt,equalsraf/neovim-qt,equalsraf/neovim-qt