Class Drawing is now View. Subclass WeekView inherits from it.
* The idea is to have a MonthView in the future that will be a subclass from this as well.
* Combobox is not working anymore, since the MonthView is not implemented yet.
Double click in a task opens the editor for this task.
* After finished editing it, unselect task.
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).
Updated screenshot.
Reestructured signal handling between widgets.
Removed packing of Header and AllDayTasks from main window to WeekView.
Fixed bug on size of Header when AllDayTasks scrollbar is/isn't visible.
* WeekView now handles vadjustment change events in order to notify
  the header when the scrollbar will be present or not.
PEP8fied code.
Changed selected_task to store task_id instead of task object.
Allow creation of a task using DnD.
* Happens whenever user starts DnD in an empty area of the widget.
* Highlight cells during drag and drop where new task will be created.
* Dialog is opened at end so user can edit title/dates, or even cancel creation of task.
* Fixed small bug on requester when deleting a task.
Task created using DnD is now selected after creation is done.
* TaskView now only creates task if OK is pressed (even when testing).
Fixed bug that was moving tasks when clicking on them.
* When DnD stops, a task is only updated if we dragged it.
* After finished dragging a task, it is unselected now.