Add ic_action_delete drawable resources
Add booklist activity actionmode menu resource file

The file actionmode_booklist.xml contains menu items used in ActionMode.
Update strings_activity_booklist.xml resource file
Use activatedBackgroundIndicator on booklist item

Since we're gonna use ActionMode, this background will help the user see
the current selection.
Set booklist choice mode to CHOICE_MODE_MULTIPLE_MODAL

This allows the user selects multiple books and the ActionMode will be
invoked when the user long click on a book.
Add MultiChoiceModeListener to booklist

The listener inflates actionmode_booklist menu resource in
onCreateActionMode callback method.
Implement onItemCheckedStateChanged to update title

This callback implementation changes the ActionMode title according to
current selection amount, e.g. "1 Book Selected", "2 Books Selected".
Update strings_activity_booklist.xml file

Add strings need by ActionMode and deletion confirm dialog.
Initialize mCheckedItems in onCreateActionMode

mCheckedItems should start at zero every time ActionMode is shown.
Implement onActionItemClicked method

This method is just as onOptionsItemSelected, here it handles action
delete and show a confirmation dialog to notify the user what's gonna
happen if he proceeds.
Change local bookList to field mBookList

The book list needs to be referenced in listeners.
Implement showDeletionConfirmDialog method

This method shows a dialog notify the user the book(s) will be deleted
from database and storage.
The positive button click listener is left empty so that the next
commits can implement it.
Update manifest file EpubReaderService ACTION_DELETE_EPUB

Add action ACTION_DELETE_EPUB to EpubReaderService IntentFilter in
AndroidManifest.xml file.
This action is used to filter delete action from booklist activity.
Implement DeletionConfirmDialog positive button listener

When "Delete" button is clicked, EpubReaderService is started to do the
actual deletion.
Note this will delete rows in database and files on storage.
Note currently the backup file is not deleted, it is reserved for
features like recovery from an accidental deletion. Future versions of
this application may implement that feature.
Rename mBase to BASE

Since mBase is a constant String represent the base path for epubreader
output, I think it's better to use BASE instead.
EpubReaderService handle ACTION_DELETE_EPUB

ACTION_DELETE_EPUB is handled in onHandleIntent.
Implement deleteEpubs method

deleteEpubs iterates through the supplied id int[], for each id, it
finds rows in book table and contents table, and calculate the location
of the directory containing unzipped epub files. Then it delete the rows
and delete the files.
The file deletion is done by recursiveDeleteDirectory.
Implement recursiveDeleteDirectory method

This method delete all the files and directories under a certain
directory that aren't filtered out by the supplied filter.

Parameters:
  - directory: The unzipped file's location File
  - filter: A FileNameFilter, here it is used to filter out the
	backup epub file.
Implement delete book feature

This feature allows the user delete books in the booklist by long
clicking on a book to invoke ActionMode, after the selection, A dialog
pops up letting the user confirm or regret the delete action. If
positive, the EpubReaderService is started to do the actual deletion
work.

* delete-book:
  Implement recursiveDeleteDirectory method
  Implement deleteEpubs method
  EpubReaderService handle ACTION_DELETE_EPUB
  Rename mBase to BASE
  Implement DeletionConfirmDialog positive button listener
  Update manifest file EpubReaderService ACTION_DELETE_EPUB
  Implement showDeletionConfirmDialog method
  Change local bookList to field mBookList
  Implement onActionItemClicked method
  Initialize mCheckedItems in onCreateActionMode
  Update strings_activity_booklist.xml file
  Implement onItemCheckedStateChanged to update title
  Add MultiChoiceModeListener to booklist
  Set booklist choice mode to CHOICE_MODE_MULTIPLE_MODAL
  Use activatedBackgroundIndicator on booklist item
  Update strings_activity_booklist.xml resource file
  Add booklist activity actionmode menu resource file
  Add ic_action_delete drawable resources
Set WebView default text encoding name to "utf-8"

Since some pages will show Mojibake, so use "utf-8" might be a good
option.