Refactoring, mult-cycle multiplication

Refactored out the base-conversion stage into a separate entity.

Converted the multiplication step from a single-cycle to a
multi-cycle implementation, as throughput is not critical but
clock speed is.