standardised normals + added cube

moved normal calculation into intersect()
added cube; slab-based implementation