move blit to core, allow filtering while blitting