Removed unused patter_type enumerators. Renamed subpixel_order enumerators for clarity. Added tracking of last move_to point for proper implementation of paths. Renamed surface::paint_with_alpha to be overloads of paint. Fixed surface::set_path so that it works properly. Fixed bugs in path_builder copy operator. Other changes to path_builder to ensure it correctly generates path_data.