Streamline the IBOutlets

Use weak properties for all outlets (apart from NSTextView that doesn't
support weak). Also, move all to the implementation files instead of in
the public API.