fix some problems with output
scaled unit/quantity output still has bugs, demonstrated in examples/composite_output.cpp