Also make various improvements in style, PEP8, return value
is now a tuple of lists instead of a list of lists.
Delay the import of other modules like `Part` and `DraftGeomUtils`
using the `LazyLoader` class.
Update the Gui Command as well.
Otherwise the function will not work in a terminal only session
without the graphical user interface (GUI).
Also small changes for style, documentation,
and removing unused modules.
These modules provide supporting functions for dealing
with the scripted objects and Gui Commands defined
within the workbench.
If the functions do very basic tasks or are too generic,
they are more appropriate inside the `draftutils` package.
These function are imported in the main `Draft.py` module
so they form part of the public programming interface (API)
of the workbench.
Remove trailing spaces in CMakeLists.txt.
Add DraftObject and ViewProviderDraft to serve as
the parent classes of all Draft objects
and all Draft view providers.
Inside `Draft.py` we need to import
`_DraftObject` from `draftobjects.base`;
and `_ViewProviderDraft`, `_ViewProviderDraftAlt`,
and `_ViewProviderDraftPart` from `draftviewproviders.view_base`.
.
.
.
.