ft_notes

Missing features:

Extents of text in pixels.  This is different than the bounding box, as
it is a measure of the height and width of the string -- not the bounding
box surrounding them.  The two are different for rotated or otherwise 
transformed text.  extent should be easy to add, it should also be in
user coordinates (not scaled).  DONE

Unit tests.
setup.py that doesn't require weave. (DONE)
tests within Chaco.

1. Cache structure:


   The cache is currently constructed of a single key to identify 
   the font, transform, etc.
   
   cache[(face_name,style,size,transform,char)] = rendered_glyph
   
   It might be better to separate the transform from the other 
   settings... (not sure)
   
   cache[(face_name,style,size][transform][char] = rendered_glyph

   We'll work out how to free based on mem usage later...

   We could use a 'face_names' list that can hold at most, N faces.

2. Handle transforms by setting the FT_Set_Transform.  I think
   this will be the most efficient approach.  It also results in
   the advances for an object being handled converted automatically.
   Kerning values will need to be transformed.
   
FT_Set_Transform
FT_Get_Kerning -- This needs to be transformed.
   
