trying to straighten out dependencies

polygons shouldn't depend on extrusion stuff
introduce new class ExtrusionPath

to separate concern extrusion from geometry in Polygon
more untangling
extracted a new class Machine from Preferences
removed dependency on Main from GCodeExtruder
removed reference to Main from AllSTLsToBuild
Split Main into MainFrame and the rest
more cleaning and untangling

* removed static methods in Preferences
* use File instead of file names in Strings
* removed RepRapUtils
cleaning Preferences usage

* split Constants to new class
* new method to load a Color3f from preferences
* simplified coordinates checks in GCodeExtruder
bugfix: display simulation plot only when option is selected
Removed ExtensionFileFilter (replaced with FileNameExtensionFilter).
renamed utilities package to debug
replaced Debug class with log4j
moved Attributes to package polyhedra
removed dependency between Attributes and Printer/Extruder
minor cleanup of clutter introduced lately
split off production from AllSTLsToBuild to new class ProducerStlList
extracted SliceCache into its own class, untangled ...

LayerRules and ProducerStlList, removed pointer from Attributes to
BranchGroup (not needed).
made static field gui in Main private
got rid of getExtruder() and static gui in Main