Added and implemented abstract factories

For DrawingLibraryFactory
Removed JGraphX references

and some generic stuff
Removed public modifier

To make clear that these classes should not be used directly, but rather
through their defining interfaces
Fixed errors for removal of modifiers
grrrr

imports