[Android] Fix potential memory leak in XWalkViewInternal

Use WeakReference to register ActivityStateListener.
Otherwise, the ActivityStateListener will hold
a reference of XWalkViewInternal as in static observer
list.
Does it need to check if `mActivityStateListener` is null since it might be not created if an exception is thrown in the above initialization code?