API: Include the region of the match, not just the position

`MatchResult.region` contains all the information that `position` does,
plus indicating the size of the matched area.  This can be useful for OCR
which takes a region to read from.  So with this change it's easy and
convenient to read the text next to a matching icon for instance:

    text = ocr(region=wait_for_match('icon.png').region.extend(right=200))

This changes the arguments `MatchResult` constructor.  This would be a
backwards compatibility break but `MatchResult`s should only be being
created by core stbt code and not by user code.  Still this is something
to watch out for.

Users can still write `pos = match_result.position` so the user facing API
has not been broken.

TODO:
- [x] Appease old pylint
Not convinced about this change.  This is what it currently looks like in my (gnome-terminal):

![screenshot from 2014-06-20 12 07 30](https://cloud.githubusercontent.com/assets/494659/3339376/3e708b04-f86b-11e3-980e-1472119ff21a.png)

and xterm:

![screenshot from 2014-06-20 12 09 31](https://cloud.githubusercontent.com/assets/494659/3339390/70dbd152-f86b-11e3-8417-3a0d82f94fa3.png)

I think with this change it will look worse.  Would it be ok to split the change to `:` and `;` into a different pull-request?  I don't find any of the other changes contraversial.