Created class Controller in order to control view switching.
* Not working though, will try Gtk.Stack() in the future, but it needs GNOME 3.10.
* For now, we are working with only WeekView object. No selection of views available.
Created class Week to manage time related tasks.
* WeekView has now a Week object.
Finished refactoring code - big commit.
Main changes regarding to the different classes:
* WeekView is a subclass of ViewBase, and mainly controls: Week, Header and AllDayTasks.
  This class controls the Requester access, and all Task related actions,
  such as adding, removing, editing.
  It is also responsible for calculating where in the screen a task should be drawn.
  It handles date changes, size requests and drag'n'drop events.
  It does everything necessary for updating the plugin content whenever a change is required.
* AllDayTasks is a DrawingArea that is responsible for drawing the tasks (as DrawTasks).
  It has a Background object.
  This class doesn't know anything about dates or even the tasks itself,
  but rather is responsible only for the drawing of them.
  It is responsible to identify which DrawTask is being pointed by the mouse.
  It receives drag'n'drop signals, but propagates it to its parent (View) to handle them.
* Header is a DrawingArea that has a Background object and is only responsible for
  printing the labels given to it. Does not have any knowledge about dates or tasks.
* Background is a DrawingArea responsible by painting the background and drawing grid lines.
  It is also possible highlight some specific cells with a different color.
Other changes:
* Header now is fixed, and only the content with the tasks is scrollable.
* Many Tasks now are drawn in same line if their duration don't overlap, using help of Grid.
* Many to functions to convert coordinates from screen to grid were added to utils.
* Some small bugs are marked as FIXME inside the code.
Put class TaskView into its own separate file.
Allow printing labels in header using multiple lines.
Reorganized update* functions in WeekView.
* Split some of them into two, changed some names and fixed comments.
Fix bug that moved big tasks just by clicking on them (without DnD).
* This bug was on the function dnd_stop(), and was happening because of float
  precision. A simple round() solved the problem.
Moved hard coded tasks from main to datastore.
Connected DnD event handling directly to parent widget (WeekView).