Add interfaces for Observer pattern

For propagating the state I have provided a generic version of the
Observer pattern. Also I am currently thinking about delegating the
Client's state into the class Model which will be composed to the Client
class (favour composition over inheritance).

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>
Integrate model into client and controller

I have added a static reference from the only model instance which
should exist to the Client. By this, the main activity now registers
itself as an observer to the model during initialization.

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>