Add RETURN macro to allow early return
Add some useful geometry functions
Render model as filled shapes with quadratic Bézier segments
Turn off multi-sampling, no longer does anything
Update position of output correctly
Update ModelWidget to make bezier editing easier
Much easier to work with smooth shapes
Add ObservableArray
Add ModelViewModel
Implemented most of ModelViewModel
Fix bug in ObservableArray
ModelWidget binds to ModelViewModel
Add ModelContextViewModel decorator to track selected items
Add Multicast, to be used for events
Use Multicast for Observable and ObservableArray events
Add unbind() to Binding
Include model_view_model.lua in init scripts
ObservableArray methods take self parameter for consistency
Tidy up ModelViewModel
Invalidate ColourWidget after updating the colours