Added changeEncodingFromIndex.

changeEncoding now accepts only a string.
Added undo/redo to subtitle editing

* Implemented via QUndoStack
* Each action is performed via a SubtitleChangeCommand
* Currently undo/redo is implemented for: subtitle edit (text, start/end) and encoding change.