Restart interaction when MixerValue value changes.

This allows UIs which rely on the mixer value for other UI elements to
be properly updated as the value changes.
Merge pull request #372 from Shizmob/master

Restart interaction when MixerValue value changes.
Only consider unique image attributes when determining best match.
Merge pull request #373 from Shizmob/master

Only consider unique image attributes when determining best match.
Do not redraw Text if it hasn't been drawn at least once.
Do not wait for an event to occur to proceed with prediction.
Fix prediction of screens without arguments.

Fixes #370, at least partially.
Fix regression: Set Text.dirty before we use it.
Fix prediction of argument-containing screens.

We were passing the arguments incorrectly, which prevented them from
working.
Predict show screen and call screen statements with arguments.

This is a behavior change, and a potentially dangerous one, since it
could execute arguments with side effects multiple times. But those
should be rare, this provides a nice performance boost, and users
will be able to disable prediction using the new nopredict clause.
Add __hash__ to Image and Solid.
New functions for continuously predicting displayables and screens.
Get rid of _predict_screens.

This has been obsoleted by the new code.