- cleaned up authentification part for dropbox connector:
* login & logout now work as expected
* automatic reloging works as well
* auto cleanup of url params after dropbox redirect done too
* cleaned up & updated backbone.dropbox : better error handling, login & logout now return defferds
* added unminified version of dropbox.js , for easier debugging

- added a gitHub connector , that is just a straight copy of the dropbox connector
 * not sure how/if it will work, but is worth a try again

- some projectBrowser view & template minor fixes and cleanup
- another failed attempt at gihub integration (via github connector):
 * still defeated by cross domain requests in the second auth phase ...
 * no obvious way to solve this purely client side
- more experimentation and improvements in saving & loading to dropbox
 * thumbnail png files now get correctly saved as binary (and therefore, readable) files
 * for now hacking conversion (see right above) based on pfile.ext
 * loading projects is almost good: all three field of the PFile class instances get instanciated correctly on load, and filled with correct data,
but is very dirty as far as backbone.dropbox goes : perhaps we could set a flag on the models/collections
to signify that we want to get file name/extension content back as individual fields in our backbone object ?
- more work on project persistence
 * more cleanup done in dropbox connector & backbone.dropbox for loading & saving
 * now the project:loaded event gets fired correctly and resets the various views
 * added correct event binding in the Project class on files container reset: the main project and config files get put at the start of the files collection
 * added correct handling of project rename : changes the name of the main project file & is propagated to the code view tabs (changing the name accordingly)
 * fixed and cleaned up various save & load issues in the projectBrowserView & template

- modified code & visual editors to handle the project:loaded event correctly
 * for now , it closes the current upper level editor views/regions completely, and creates new ones: perhaps a less brute force approach would be better?
 * tabs now display the file extension aswell
 * tabs now handle "dotted" file extension correctly (ie .thumbnail)

- minor updates to the main menu:
 * added correct "saveProjectAs" elements so the correct dialog gets started
 * added google + contact link
- new project creation now works correctly: this means new + save + load work "ok" for the dropbox connector: yay!
* added & fixed all necessary code for project creation : this, like the rest , needs cleanup

- also experimenting with context menus for renaming, deleting etc the various projects & files
- still tinkering with project save load, various js libs to enhance the overall ui etc
 * removed all "full" jquery ui package (including css & images) and replaced it with a bare-bones jquery ui version, with only what is necessary to make things draggable,
resizeable etc : this means no more weird conflict with bootstrap for things such as tooltips etc
 * lots of very minor updates and enhancements to the projectBrowseView : the complexity is way too big, to the point of not being managable, needs to be cut down drastically
 * a few minor fixes & improvements to the modal & dialog region helpers : added removable of the bootstrap "fade" class in dialogs, that were cause responsivness issues while dragging
 * added cosmetic changes to the projectBrowserView: custom sliders etc
 * added notification plugin & integrated it for connector login / logout notifications
- cleanup of the csg core :
 * deleted unused , redundant files
 * removed all old references to the CSG object/namespace (all handled with requirejs now)
 * removed the "csg" prefixes for file names (they are in the "csg" folder, so yes, they are related to the csg functionality)
 * fixed a few recently introduced bugs (2d geometry)
 * corrected some of the previous tests, added some new ones : all of them are still very limited (for boolean ops at least),
 as they only test the number of polygons/sides in the resulting objects
 * added tests for 2d (cag) operations & extrude
- a bit of general cleanup :
 * removed some of the now unused, very first , experimental files
 * removed a few deprecated files related to persistence views
- started experimenting with code preprocessor:
 * this would, down the line remove "includes" / dependency management from the csg processor class: this would make the csg core completely "isolated" from the
concerns of project structures and references between projects
 * all include statements in the various files of a project would be resolved/ replaced with the correct piece of code (even "remote" includes could be supported: gist, dropbox etc)
 in this stage, and and already complete source would be handed off to the csg processor itself
- preprocessor can now process includes from current project correctly, and handle (throw error) circular dependencies
 * now works correctly as dependency resolver : check for circular deps, does not include the same file multiple times etc
 * added a few tests for the preprocessor
 * finally moved the compiling from coffeescript to js from the processor to the preprocessor (there will likely be some minor issues to solve
once the "csg.sugar" file is cleaned up / obsolete , and the csg methods are not inserted into the global namespace via "window")
 * this means the whole csg folder will soon be "packagable" independantly , enabling the processing in web workers etc (more on this soon)
 * cleaned up the csg processor a bit following these changes
- some slight additional cleanup of project pre-processor
- experimented a bit with build options, optimising/minifying
 * first tests with build.coffee/build.js (newly added, these are just temporary experimental files)
 * modified the cakefile to finally enable building/minifying via the "cake release" command : for now the principle works , but only tested on a sub part of the app (csg folder)
- some progress on moving csg processing to web workers:
 * managed to use require js within web worker to fetch csg module
 * basic experiments work
 * still lots of potential issues with passing complex csg data from web worker back to main thread: perhaps it would be better not to use a brute force approach
(run everything in the worker), and only put the heavyweight computation in there ? (ie boolean ops, polygon tree manipulations etc)
- started moving csg compiling settings into main settings
 * added "backgroung processing" option
 * added elements to general settings view
 * added a VERY hackish way of setting that option when compiling a project (by passing the general settings model to the current project instance)
- lots more work done on getting async (web worker) compiling of csg :
* it WORKS , at least for cubes & sphere : very clumsily for now
* the async version uses requirejs to get the csg code base
* added logging of processing time : async is actually LONGER than sync : uh oh !
* turns out it is the conversion from the csg polygon "soup" to THREE.js geometry that is the main bottleneck
* serialization / de serialization from the worker to the main thread is very wonky , lots of data (methods, actual csg sub classes ) get lost along the way
* added a file with a few experiments of ser/deserialization

- also related
* modified the csg processor so now both the web worker & non webworker versions work by calling a callback method once the processing is done
* after the callback is called, the project's compile method triggers a "compiled" method
* modified the visual editor view to now listen to this event , and do the drawing
* moved a few of the csg compile settings (delayed compiling etc) to the project class

- finished main cleanup of csg files :
* renamed csg.coffee to csgbase.coffee
* the csg.coffee file is now the main "access point" regrouping all the elements/classes/functions defined in the various csg files
* removed the very dirty object registry aspects (assigning to "window.registry" etc), so for now, bom is broken
* moved the "from compactBinary" method from csgBase to "converters" file (for correct file dependency handling)
- started work on refactored from_csg method (conversion between csg & three.js geometry)
* also added full version of three.js (r52) for easier debugging
- first pass of refactoring of three.csg (exporting csg data to three.geometry) is done!
 * over 50 x faster than previous implementation ! wooh!
 * speed increase based on using an index of vertices/vertex numbers
 * still need to add tesselation for polygons with more than 3 vertices ( a lot of meshes will apear as if having holes in them)
 * manually tested a few of the overal geometry/csg operation limits of coffeescad : while rather complex meshes with lots of polygons can be displayed easilly
csg operation fail (most of the time silently?) need to investigate
- triangulation of csg meshes now done (see previous commit), new (faster) version of csg to three done
- small refactoring and fixes in csg core
* replaced most of the "map" functions with list comprehensions
* fixed csg.spec import issues
- csg processor almost completely cleaned up:
 * added pre processing method for both sync & asynch versions (compile to coffeescript, data injection etc)
 * made the processing callback system more coherent (same for sync & async)
 * re added bom data support (both s & async)
 * callback now fired correctly with  rootAssmbly, raw bom data, and/or error message in case of failure
 * added handling of said error in project's compile() method
 * cleaned up constructor, unused params & methods etc

- changed csgBase clone() implementation for web worker compatibility:
 * moved from jquery (extend) to custom implementation

- added parameterless defaults for vector2d & 3d classes (easier for cloning)
-Last (hopefully) few fixes to have all csg calculations/ methods work in web workers
* fixed CAG (2d csg base) clone, to work within weborkers as well
* cleaned up quickhull2d / csg extras file to work properly in workers as well
* tested (manuall) with extrusions, clones, 2d unions etc: it seems ok , will add some unit tests to be sure
* Added a bit more detail about the possible errors generated in web workers (line number, trace etc)