Refactored port structure.
Added test case for set-port-position!. (Issue 141)