getting rid of drawAllVerbose in favour of an Observer/Observable
pattern
DrawObservers
Observer as an interface
PrintStreamObserver as standard console Feedback
WordCramEngine can handle one Observer
moved word skip reasons to a singleton
drawNext returns the processed Word
Observer

Observer interface
PrintStreamObserver implementation
WordCramEngine can have one Observer
WordCram.drawNext returns processed Word
moved the skipped reason to an enum
removing the observer package
inserting the observer in the main package
Observer rework

- Added Observer methods to inform about more events
- PrintStreamObserver informs about results at the end
- Created VoidObserver to have a standard "/dev/null" if there is no
observer set. This way the engine does not have to check for an ovserver
anytime there is an event.
- Observer is now part of the engine constructor, this breaks current
tests
- drawNext does return void again
Merge simpsus/observer in
Fix specs for AWordCramEngine - mock the observer
Fix whitespace & remove commented-out code
Kill unneeded WordCramEngine#setObserver
Instantiate WordCram.observer directly as a VoidObserver
Fix javadoc links in WordSkipReason
Rename WordSkipReason enum values, so it's closer to backward-compatible
Update WordSkipReason reasons for clarity
Clean up WordSkipReason javadoc comments
Make VoidObserver package-visible, not public (and strip extra whitespace)
Remove Observer#wordsScaled and #wordsShaped, not needed
Remove misleading Word[] param from Observer#endDraw
Replace VoidObserver with SketchCallbackObserver, so a Processing sketch can be an Observer