Grassmannian Learning: Embedding Geometry Awareness in Shallow and Deep Learning