Catch errors in widget initialization and replace them with error marker widgets.

The idea of replacing a broken widget with a broken-widget widget comes
directly from Squeak Morphic. There, you could also tell the broken
widget ('morph') to turn back into what it's supposed to be, but since
we don't have live code editing in this environment there's no point.
Remove special case: a widget config.target is now always a cell.

This prevents some type-mismatch failures; for example the Generic
widget can handle getting a block object (poorly) rather than throwing.
Make client aware of accessories.