Cleanup of Card.java. Update up to Anki 2.0.23.

- Mostly formatting changes.
- Remove dead/commented out code.
- Added some asserts and renamed some methods to match libanki.
- Use separate methods for fetching simple interface content instead of modifying  libanki methods.
- Removed suspicious flag from flush() that skipped some values. This was used by our custom undo code which needs to be revisited in the future.
Merge pull request #302 from hssm/libanki-cleanup-update-2.0.23

Cleanup of Card.java. Update up to Anki 2.0.23.
Removed Zoom preferences and built-in controls.
Bumped version to 2.2alpha47
@branch-specific
Merge pull request #308 from brunodea/remove-zoom-settings

Removed Zoom preferences and built-in controls.
Bumped version to 2.2alpha48
@branch-specific
Fix Issue 1922 - Allow image resizing when zooming

 On Android 4.4 (with the new Chrome backend), images with max dimensions specified already zoom in correctly. For those devices, we've added a user agent check and continue to use pure CSS and avoid javascript.

 On older platforms, resort to javascript to determine suitable dimensions and manually set the style for each image. Images that exceed the window dimensions are resized to fit in the window.

Thanks to @brunodea for the initial work on this, and to Moin Zaman's solution (http://stackoverflow.com/a/3971875) which served as a guide for the resizing code.