Functional unit integration

Now, functional units use the built-in functionality provided in CHDL/harmonica by default.
If specified as EXPOSE during declaration, functional units will leave the computation alone, but declares related inports and outports.
It only works when DEBUG is off, or all the functional units will use built-in modules.

a functional unit initializes the latency for each kind of its operation in its constructor.
a mux selects the proper latency for the current operation.

Four modules are currently available, including
1. int multiplier
2. int divider
3. basic fp unit
4. fp multiplier

built-in library for fp division is still missing.