Better document EventType properties: closes issue #166

Separately document class pygame.event.EventType, listing its two properties.
Update the rest of the event module document to use EventType in place of
Event, the factory function that returns EventType instances. As a side effect,
several spelling errors were corrected. This changeset is not an exhaustive
edit of event.rst.
Fix some CPyChecker detected bugs in imageext.c and font.c

- image_save_ext: memory leak on variable oencoded
- fontmodule_init: unhandled Python exception
- font_render: possible use of undefined variable rgba. This was a false
  positive, as variable rgba is set by RGBAFromColorObj. However, using an
  initializer is a safe practice, and removes the warning.
Start of 1.9.2 alpha releases
Fix some CPyChecker warnings for pixelarray (toward issue #171)

- _pxarray_get_dict in pixelarray.c: try to clear false memory leak warning for
  self->dict. Did not succeed, but made code a little cleaner.
- _extract_color and _compare in pixelarray_methods.c: Fix memory leak involving
  new_surface.
- _get_color_from_object in pixelarray_methods.c: Remove spurious warning about
  uninitialized rgba.
- _get_single_pixel in pixelarray_methods.c: remove warning about uninitalized
  pixel. This cleans up the switch statement.
Fix some CPyChecker warnings for pixelcopy (toward issue #171)

- _copy_colorplane in pixelcopy.c: remove warning about uninitialized element.
  This cleans up the switch statement.
- surface_to_array: fix incompatible argument warning.
Fix reference counting problems with array interface

When the PgObject_GetView C api function in base.c acquired a view for an object
exporting a Python level array interface, a dict object, a reference to the dict
was maintained within the returned Pg_buffer C struct. Due to reference counting
problems, when the Pg_buffer was released with PgBuffer_Release, the dict was
left with a reference count of one too low.

Since in principle a reference is kept on an exporting object until its buffer
is released, it is unnecessary to maintain a reference to the dict or
cobject/capsule that describes the exporting object's buffer. Additionally, it
is unnecessary for an array struct cobject/capsule to keep a reference to the
exporting object. This is the case in NumPy, the definitive use case of the
array interface. This changeset removes the redundant references from array
interface support in base.c. It also corrects the above bug.
Remove some gcc compiler warnings for freetype module

For the _PGFT_GetRenderMetrics function in ft_render.c, the gcc compiler
warned about passing (unsigned *) values to the (int *) w and h arguments.
This changeset makes the w and h arguments unsigned to be consistent with the
corresponding width and height fields of the FontSurface struct type.
Automatically generate the version module with setup.py

The version.py module is now written by setup.py during a build. This means,
for the Pygame code, only the 'version' tag within setup.py needs to be
changed. Also, a revision number, 'rev', is added to the version module.
This gives the hg identifier of the build. It is automatically determined
by setup.py.
Add hg identifier to MSI installer filename
Make hg ignore /docs/_images
make setup.py work with Python 2.5 (again)
some small document changes
add bitmap size introspection to pygame.freetype.Font (toward Issue #75)

To the freetype.Font type, add the fixed_sizes property and the get_sizes()
method. For unit tests on the new features, add two new fonts to
pygame/tests/fixtures/fonts: PyGameMono.otf and PyGameMono-8.bdf.
PyGameMono.otf is a proper fixed-width outline font. It also contains
two embedded bitmaps. PyGameMono-8.bdf is generated from one of those
bitmaps.

This changeset leaves pygame.freetype.Font bitmap incomplete. No bitmap specific
rendering is implemented. Bitmap fonts don't transform properly. An embedding
bitmap strike in an outline file is chosen preferentially over a generated
bitmap. Bitmap strike size selection is poorly handled (a returned get_sizes()
size tuple should include the point size used for selection with a ptsize
argument.)
add use_bitmap_strike property to pygame.freetype.Font (towards Issue #75)

Allow the user to control whether or not bitmaps embedded in an outline font
file are used. Also prevent using embedded bitmaps for rotated text or for
styles strong and oblique.
reduce pygame.freetype.Font.__init__ args (towards Issue #75)

The keyword args were reduced to a few general font properties. The ptsize
argument is kept for compatibility with pygame.font.Font. The font_index and
resolution arguments are constant properties of the freetype.Font instance.
The ucs4 argument is Python interpreter related property that does not affect
rendering. Omitted properties are either not supported for bitmap fonts
(eg. style with values STYLE_STRONG and STYLE_OBLIQUE), render specific
(eg. style values STYLE_UNDERLINE and STYLE_WIDE, rotation, and vertical),
or obscure and so not likely to be changed (eg. use_bitmap_strikes, strength,
and kerning).

To compiment the ucs4 Font argument, a usc4 property is added. Also, better
ucs4 value checking is performed.
improve pygame.freetype.Font font size handling (towards Issue #75)

These changes may cause minor breakage, as the *ptsize* argument to the
pygame.freetype.Font constructor and several of its methods is renamed *size*.

Perform better error checking on the *size* (formerly *ptsize*) argument, and
use this size, now *face_size* within the C code, more consistently. Its
type now matches the width and height fields of the FTC_ScalerRect C struct.
The face size is a value expressed in 1/64th or points. It is a transition
to allowing a two-tuple of floats as Python *size* value, which separates the
width and height requirements.
improve pygame.freetype.Font text rotation handling (towards Issue #75)

Allow any Python long value for a *rotation* argument. Add a rotation property
to pygame.freetype.Font.
remove an inappropriate unit test fail in base_test.py
error check pygame.freetype.Font scalable font properties (toward Issue #75)

The *rotation*, *oblique*, and *strong* font transformations are only
available to scalable (outline) fonts. Make these properties read-only
for a bitmap font. Also check the corresponding *Font* method arguments.
changeset d2feb84c6b76 broke freetype_misc.py example, fix