push WidgetParser down to workspace package

Tortoise needs it, and we want to reduce Tortoise's dependence on very
high-level packages like headless

partially addresses #454
make WidgetParser.parseWidgets return more sensible types

in particular, avoid returning StringBuilder. yuck

partially addresses #454
Merge pull request #454 from NetLogo/widgetparser-cleanup

`WidgetParser` has an unfriendly API
add chooser support to WidgetParser

fixes #456
make some of WidgetParser's constructor parameters optional

for ease of use from Tortoise
Merge pull request #456 from NetLogo/issues-454-and-456

WidgetParser lacks chooser support
Merge remote-tracking branch 'origin/headless' into tortoise
Tortoise: simplify TestSandpileModel

taking advantage of the fact that WidgetParser supports choosers now