Refactor video caption module.

@jmclaus , @valera-rozuvan please review and test it thoroughly manually.

- removed methods binding;
- `this` refers to `videoCaption` now;
- access to `state` object via `this.state`.