Now uses cublasDgemmBatched for inner gemms and pins buffers in-place.

The batched gemms do what we'd expect: the kernel launch overhead
is no longer an issue and computation is completely overlapped with
communication.  In fact, the H->D transfer is fully occupied.

Changing pinned memory from copies into separate buffers to
registering the u,w,g buffers in-place saves a bit of time.

The next steps need to go above the ax function: g needs to be
saved from cg iteration to iteration and the u,w buffers need to
stay registered for longer periods of time.  This will likely
be accomplished with some global scope, which is sad.

Also, the cublas batched support needs to be ported back into
magma before those changes make their way into nekbone proper.