Add custom model for tree view in Database Structure tab

Use a custom model for the tree view in the "Database Structure" tab in
the main window, i.e. change from a QTreeWidget to a QTreeView and do
all the item management stuff manually. This might add some code and
complexity but also offers some more flexibility for us.
DbStructureModel: Enable dragging of DB objects

Allow dragging (as in Drag & Drop) of database objects like tables and
views into other applications by sending the SQL code used to create
them.