Make Android ViewObservable.input observe TextView instead of String

The previous version required `ViewObservable.input(TextView, boolean)` to emit just `String`s of the updated text, but not `CharSequence`s, which is the declared implementation of `TextView`'s `mText`. This still allows for similar functionality as before via: 

```java
ViewObservable.input(myTextView, false).map((textView) -> textView.getText().toString())
```

It is also flexible like `ViewObservable.clicks` in that it returns a reference to the `View`, which should make it more flexible for using it with other reactive methods.

I held off from doing the same to `ViewObservable.input(CompoundButton, boolean)` but could do so if you think it would be valuable/more consistent.

This would be a breaking change. In order to make it not a breaking change, this method could be renamed and the initial method could `map` like the above snippet. Let me know if you think this is important and I'd be happy to make this change.
@benjchristensen @zsxwing regarding "If however this operator is above observeOn then it should work fine as observeOn would schedule the unsubscribe on the UI thread."

I am not sure it is the case. Looking at https://github.com/Netflix/RxJava/blob/master/rxjava-core/src/main/java/rx/internal/operators/OperatorObserveOn.java#L223 it unsubscribes the worker but looking at https://github.com/Netflix/RxJava/blob/master/rxjava-core/src/main/java/rx/internal/operators/OperatorObserveOn.java#L101 the child unsubscribe() will chain upwards in the same thread instead?

I also am not sure I follow the reason why both https://github.com/Netflix/RxJava/blob/master/rxjava-core/src/main/java/rx/internal/operators/OperatorObserveOn.java#L89 and https://github.com/Netflix/RxJava/blob/master/rxjava-core/src/main/java/rx/internal/operators/OperatorObserveOn.java#L100 exist unsubscribing on 2 threads?