[Application] Create LaunchParams for Application::Launch

Use a struct to hold the launching parameters for the Application, this
will enable us in the future to set some window-related properties
without causing too much churn.

This commit also removes unused getter, and trade the setter for an
extra parameter in Launch, strongly linking the parameters to the Launch
function, since that's what the code expects.