Separate mp::connect_engine from mp::connect.

The engine now should be created and then passed to mp::connect as a
constructor's parameter.

This is an initial step to prepare the engine to
be used outside of mp::connect screen context.