Add a settings to disable WebView switching.

WebView switching was added in Android 0.7 to fix a bug with custom
fonts on some versions of Android. However, recent versions of Android
seem to have fixed this issue.

This commit adds a setting to force quick updating of WebViews, so that
we can ask users to test this on a number of devices with the next
release and see if this is still an issue on any device.

Hopefully, we can identify which versions of Android we can disable the
workaround by default and possibly remove the setting in future
versions.
Merge pull request #18 from flerda/v2.1-recreate-webview

Add a settings to disable WebView switching.
Remove flag for onPreExecute callback.

Since onPreExecute is always guaranteed to be executed before
onBackground is (and it is done on a different thread), simply call the
listener at the right time.

If at any point onPreExecuted is not called, it means we have done
something else wrong.
Fix CSS in Reviewer for the default font.

The CSS used for the default font was actually invalid because a number
of things were missing or incorrect.

This should reformat and fix the CSS.
Saving the content of the cards.

This commit adds a flag to Reviewer.java that allows to same the content
of the cards. This can be quite useful for debugging purposes.
Use ruby tags and styled spans for furigana instead of CSS tables.

Make use of native ruby tag support in WebView for SDK 11+, but
fall back on manually aligned spans on earlier versions of Android.
These look better and don't overlap other elements like the
previous CSS table solution does.
Fixes Issue 1648.
Merge pull request #23 from hssm/Issue1648

Use ruby tags and styled spans for furigana instead of CSS tables.
Merge pull request #26 from flerda/v2.1-reviewer-css

Fix CSS in Reviewer for the default font.
Merge pull request #27 from flerda/v2.1-card-debug

Saving the content of the cards.
Merge pull request #25 from flerda/decktask1

Remove flag for onPreExecute callback.
A few improvements around the DeckTask.

- Made fields final and added a constructor.
- Remove static sOldInstance and instead store a mPreviousInstance in
  the task itself. This also guaratees the correct sequencing of tasks.
- Rename static sInstance to sLatestInstance to reflect the semantics.
Merge pull request #28 from flerda/decktask2

A few improvements around the DeckTask.
Change the listener to receive the task.

Currently, the listener is not told which task it is being notified
about. This changes the listener to receive the task itself. In order to
make the transition easier, it also defines an abstract class with the
same name as the previous listener, which defines a compatible
interface.

Finally, remove the CancellableTaskListener, since it is not used and
introduces a cumbersome runtime check.
Merge pull request #29 from flerda/decktask3

Change the listener to receive the task.
Merge remote-tracking branch 'ankidroid/v2.1-dev' into v2.1-dev-native-ruby
Bring my furikanji more into line with the development branch.

Conflicts:
	assets/flashcard_css
	src/com/ichi2/libanki/hooks/FuriganaFilters.java