Platform: unified and cleaned up context creation.

Added missing tryCreateContext() implementations. Error messages are
printed only by tryCreateContext(), createContext() is only a thin
wrapper which exits the application if tryCreateContext() fails and
doesn't print any additional information on the output.

Hopefully I didn't break anything :-)
Platform: no need to have convenience overload of internal constructor.
Platform: add default argument to createContext().

Somebody would just want to defer context creation after parsing
arguments or doing some validations without any particular setup, thus
having to write even the {} is annoying.