Feature/optimize compose

Do _not_ merge. Update of working progress.
@geekbeast, the matrices generated have dimensions that seem incompatible to me:

outer sub-matrix  is Ool x m, where m is the number of monomials sharing a common factor.
inner sub-matrix is m' x Lol,  where m' is the number of distinct factors in that bucket.

Did you have something different in mind for how to generate the outer contributions sub-matrix?