Initial support for VDB python-based variable objects
Due to a limitation of GDB itself, one cannot create variable
object for "synthetic" argument/local created by custom frame
decorator. Therefore one cannot "dig deeper" and inspect contents
of such a variable in case it is a kind of composite - like an
object on a heap referring to another objects.
This is a problem when a debugee is does not have debug information
and / or it's language is not C - such as when debugging JITed code.
This (experimental) commit adds a parallel implementation of variable
objects done completely in python. This new varobj MI interface is a
super-set of GDB's builtin varobj MI interface.
### 2019-02-14:
* Performance improvements to make VDB "snappier" especially when
debugging complex C++ codebases on slow(ish) systems such as
on *HiFive Unleashed* board.
### 2019-01-25:
* Major improvements in GDB console widget for setups where PTY
cannot be used (such as on Windows or when using GDB over SSH)
Most importantly, new console supports command completion
(when GDB supports MI command `-complete`)
### 2019-01-21:
* Support for arbitrary command to invoke GDB. This way one can use
VDB on a local workstation while the GDB itself runs on a remote
computer (server or development board, for example)
* Support for command completion on Windows.
### 2018-10-05:
* Add support multiple debugger layouts. Currently supported layouts
are "Single", "Eclipse" and "IDAPro".