polys: Don't repeat leading monomial algorithm in PolyElement
polys: Allow to pre-process order in PolyRing()
polys: Split monomialtools.py into monomials.py and orderings.py