Fix 2 NPEs in the Browser.

The first was from freeMemory getting a tab back that had already been freed.
This is a really hard case to reproduce but it appears that it can happen. So
just check for a null mMainView before trying to free the tab.

The second was a null mTabOverview during the onAnimationStart method when
animating to the tab overview. I think this is caused by message delays not
being accurate enough to ensure the overview has been created. A check for null
fixes the problem for now but I am working on a better solution to ensure
animation message order.
diff --git a/src/com/android/browser/TabControl.java b/src/com/android/browser/TabControl.java
index 581d144..575be8d 100644
--- a/src/com/android/browser/TabControl.java
+++ b/src/com/android/browser/TabControl.java
@@ -709,8 +709,9 @@
             t = mTabQueue.get(i++);
         } while (i < queueSize && t != null && t.mMainView == null);
 
-        // Don't do anything if the last remaining tab is the current one.
-        if (t == getCurrentTab()) {
+        // Don't do anything if the last remaining tab is the current one or if
+        // the last tab has been freed already.
+        if (t == getCurrentTab() || t.mMainView == null) {
             return null;
         }