Un-templated ´command_line::process´

The ´process´ member function is never expected to be a sink, because the
expected work flow is to add the line afterwards to the history.
Print errors in red in the simple shell example
Implemented variables engine

The new engine is simple but powerful enough for most use cases.