Introduce the `ProductionCoinffeineApp` component

A new object `ProductionCoinffeineApp` is defined with a inner `Component`
trait that binds all the components of the cake pattern to have a
production-ready app. The `Main` object extends such component.
Use domain model class `Order` in UI operations view

Instead of define its own case classes to describe the resulting form inputs,
it is better to use a domain model class to describe what the form is gathering.
Bind UI order submission to coinffeine app

This change makes the UI order submission function to invoke
`Broker#submitOrder()` function on the instance provided by `CoinffeineApp`.
It uses a progress dialog to show how the order is submitted.
Make the app to stop on UI closing

This fixes bug #227.
Merge pull request #228 from apoloval/issues/82

Bind the order submission UI and its business logic