Decompose PrimitiveProduct#overlap_integral
Reimplement Primitive#kinetic using PrimitiveProduct

[ci skip]