Create factory implementation for printers

This pull request centralizes creation of printers instances into a single point removing duplication from `PHPUnit_TextUI_Command` and `PHPUnit_TextUI_TestRunner`.
Now `PHPUnit_TextUI_Command` has nothing to do with printers, it only populates the arguments used by `PHPUnit_TextUI_TestRunner`.

This pays the technical debts of #1537.
I'll leave this decision to @sebastianbergmann. It is a minor BC break, but historically PHPUnit hasn't really made any promises about preserving backwards compatibility for protected methods which aren't intended to be part of the API.