pass original text to transformations
refactor: introduce Context object that contains original text and its position
use Java7 & 8 language features
use JDK8 in Travis
change Travis branch