changelog
    
    
    - Mon, 30 Jan 2017 00:59:06 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Mon, 30 Jan 2017 00:59:06 +0200] rev 1082
 
    - The "all objects have valid models" invariant seems to be holding up now. At least basic drawing works again.
 
    - Sun, 29 Jan 2017 21:17:43 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sun, 29 Jan 2017 21:17:43 +0200] rev 1081
 
    - Made all LDObject constructors protected. Emplacement is now the only way to create objects.
 
    - Sun, 29 Jan 2017 21:07:15 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sun, 29 Jan 2017 21:07:15 +0200] rev 1080
 
    - Removed the LDSpawn function and replaced its last use cases.
 
    - Sun, 29 Jan 2017 21:02:11 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sun, 29 Jan 2017 21:02:11 +0200] rev 1079
 
    - More rework on model stuff, removals of LDSpawn calls. Most importantly, the LDraw code parsing function was moved to Model.
 
    - Sun, 29 Jan 2017 15:49:36 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sun, 29 Jan 2017 15:49:36 +0200] rev 1078
 
    - Removed uses of LDSpawn in the algorithm toolset
 
    - Sun, 29 Jan 2017 15:39:35 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sun, 29 Jan 2017 15:39:35 +0200] rev 1077
 
    - Replaced uses of LDSpawn with the Model class in edit modes
 
    - Sun, 29 Jan 2017 15:28:48 +0200
 
    - by Teemu Piippo <teemu@hecknology.net> [Sun, 29 Jan 2017 15:28:48 +0200] rev 1076
 
    - Removed dead code that's standing in the way of refactoring