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.
Fix 2091: Respect "Fast Card Browser Open" option in drop-down menu.
Removed Zoom preferences and built-in controls.
Bumped version to 2.2alpha47
@branch-specific
Bumped version to 2.2alpha48
@branch-specific
Move all constants into a new Consts.java file to match consts.py

Matches Anki version 2.0.25.
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.
Bumped version to 2.2alpha49
@branch-specific
Update Sched.java up to Anki 2.0.25.

Includes these commits:
- make sure we reset odue when rescheduling as new (dae/anki ae8074e)
- automatically remove from filtered deck before reschedule  (dae/anki 19b1446)
- increase filtered deck size limit to 99999 (dae/anki 96eeacb)
Bumped version to 2.2alpha50
@branch-specific