AstroGPU - High Performance Direct Gravitational N-body Simulations on Graphics Processing Units