dotProduct optimisations
more innerProduct overrides and fast paths
improve identity matrix inner product
more overrides