Added Python 3.3 support

This fixes many of the old-style relative imports that were left
within the code.  These imports are not valid in Python3, and have
been replaced by absolute imports as well as new-style relative
imports.  The incorrect imports were replaced by absolute imports,
as they are the most consistent and are unlikely to change in the
future.

In a few cases, module were moved and needed to be imported with
an alias to maintain backwards compatibility.  We should consider
moving these imports into a `compat` file, to make it easier to
fix these imports across the entire application.

---

OpenCV 3 is required to use Python3 with OpenCV.  This must be
compiled from the source for now, and more information as to how
to do that will come later.

OpenCV 3 removes the `cv2.cv` and `cv` compatibility modules,
leaving just `cv2` to be used.  A few imports in `_ocv.py` had to
be reworked to account for this, but the impact for that was
minimal.

Python 3 removes implicit relative imports, which were being used
by the scripts loader.  In order to fix this, a few breaking
changes had to be made, specifically involving the loader and the
function to retrieve all possible scripts.

The loader had to be reworked to take in either a full path to the
module, or the individual script name (in order to maintain
backwards compatibility).  This required modifying the `__import__`
statement to correctly load the specific module when given a full
path.

The function to get the scripts list was refactored to make it
easier to read and understand.  It also now returns the full path
to the script, instead of the script name which it previously
returned.  The module name is grabbed from the current file, which
requires the loaders to remain in the `__init__.py` file.  Moving
them out of the file will require minimal adjustment to how the
current module is grabbed and should not be a problem in the
future.

---

In OpenCV 2, the keys for the color dictionary are prefixed with
`cv_`.  This prefix was changed to `color_` in OpenCV 3, which
means we now have to test for both of them.

---

This fixes a race condition that was caused by the set of point
objects not being populated before the set of current points
was populated.  In order to fix this, there is a check at the
beginning to ensure that the point exists.

This also makes the code that handles displaying the points
clearer, so it is easier to understand how the coordinates are
extracted.

---

Adding points no longer uses legacy bindings

This adds a bit of documentation to where the previous set of
points are updated with the new values.  It also documents a
known race condition is being worked around.

---

This documents the arguments used for converting the color mode
of the internal image along with the different outputs from the
function.

---

This full documents how scripts are detected from the current
directory and imported.  It is also noted how the scripts can be
imported from the individual script name to ensure backwards
compatibility.

---

https://bugzilla.gnome.org/show_bug.cgi?id=691878