consoles: Added detection.

Currently, it detects only Plymouth and falls back to direct console output if Plymouth isn't running.
consoles: Direct: Added initialization.
consoles: Direct: Added a print_(self, debug, msg) method.

This method is required for all outputs.
 consoles: Direct: Added a method printState(self, state).

This method is required for all outputs. (Although it doesn't need to do anything for every output.)