Represents a tangent space to some manifold M at a point x.
TFP allows one to transform manifolds via Bijectors. Keeping track
of the tangent space to a manifold allows us to calculate the
correct push-forward density under such transformations.
In general, the density correction involves computing the basis of
the tangent space as well as the image of that basis under the
transformation. But we can avoid this work in special cases that
arise from the properties of the transformation f (e.g.,
dimension-preserving, coordinate-wise) and the density p of the
manifold (e.g., discrete, supported on all of R^n).
Each subclass of TangentSpace represents a specific property of
densities seen in the uses of TFP. The methods of TangentSpace
represent the special Bijector structures provided by TFP. Each
subclass thus defines how to compute the density correction under
each kind of transformation.