Input and MessageBox fixes

- Renamed MessageBox.MediaObject to MessageBox.Image (conforming to
spec).
- Fixed MessageBox.GiveResult() not firing callbacks.
- Added Input.Cancel() for semantics, equivalent to
Input.GiveResult(null).