Combine port apps into one binary

This reduces the footprint a little and enables more code reuse between
modules.