Blits surface @source to the center of surface @target. Takes the normal 
    Surface.blit() flags; however, @dest is used as an offset.

def center_blit(target, source, dest = (0, 0), area=None, special_flags=0):
    '''
    Blits surface @source to the center of surface @target. Takes the normal 
    Surface.blit() flags; however, @dest is used as an offset.
    '''
    loc = lambda d, s: _vec(d.get_size()) / 2 - _vec(s.get_size()) / 2
    _blitter(loc, target, source, dest, area, special_flags)