Renamed 'bubble' to frontside_conditions

In anticipation of adding backside_conditions that the robot referenced.
Added support for backside conditions

But not yet used.
Move thought bubble to backside

Since soon will also be adding backside conditions.
Top-level runs when reconstructed

If it was running when JSONified.
Fixed robot drop location

Was height of element too high due to old thought bubble code.
Improved drop location when animating

Without thought bubble no need for offset by robot's height.
Drag end handled better

Apparently it is only sometimes triggered if there is a drop. So any
changes made by dragstart are now undone even when dropped.
Removed commented out code
Removed robot's width and height

Handled more generally by widget and frontside. Was causing robots when
run to be square (100x100 pixels).
Robots no longer change size when animating
Mismatching robots animate upside down

Clearer that something is wrong
Mismatched robot's title updated

To explain what is happening. Could be enhanced to provide more details
about the mismatch.
Improved element attribute inputs

They listen to 'input' events rather than 'change' so no need for
'mouseout' which trigger spurious events. Also avoid rounding (at least
for font-size) by JQuery.
Handle attempts to run untrained robots

No longer log an error. Just ignore.
Better number formatting

When the area is tall and narrow the font-size no longer becomes very
tiny.
Erasing sub-widgets in conditions

Recent changes broke it.
Element descriptions truncated

Since if they involve a data image they can be very long.
Replaced i += 1 with i++

Clearer.

Also JQuery's css function doesn't need values with 'px' appended.
Held numbers displayed better

Watched robots holding wide numbers weren't displayed well.
Updated test file