Make Text an object oriented class

Based on some of what we worked on this week with Joomla's Testing Sprint, this PR is the first in improving the Framework's testability and eliminating static methods in favor of an object oriented system.  This PR refactors the Text class to be object oriented and removes the static declaration of the methods.  Instantiating the class will require an instance of Language to be injected.

Also, the `_` method is deprecated in favor of `translate` to provide a clear method name.

Lastly, the unit tests for the class are restructured for better testability and coverage is improved to 100% compared to the current 1.x branch.
Is there any point to this function? As this was a static method anyone calling JText::_() will still find it broken - so it's not really providing any kind of b/c layer