Real-time optical micro-manipulation using optimized holograms generated on the GPU