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 I could be mistaken, but is this still necessary? I believe `OperatorObserveOn` schedules the unsubscribe action on the given scheduler already. So this might end up scheduling it twice? I guess it depends on whether we expect the caller to `observeOn(mainThread())` explicitly?

Maybe this is part of a larger design question: who should be responsible for making sure that UI related code is executed on the UI thread? The operator? The client?