In the simplest view of Spaces and Content, they are just folders and files. In any Space you can choose to upload a file and do all the appropriate document management actions on it (check-in/out, lock, version, etc). There does not need to be a separate concept of a Document Library - every Space is a potential document library.
One of the key requirements is to be able to provide a view of a Space that looks as if you are working in a filesystem directory.
The items within a Space, such as a wiki, bug-tracker, blog and so on, can be viewed as special Spaces. For example, a wiki is made up of wiki pages, so a wiki Space will contain the pages; likewise a forum Space can be viewed as containing forum entries, organised in whatever suits the forum application.
An application can now be thought of as a viewer or editor for a Space. For a Wiki Space containing wiki pages, the default Space viewer is the wiki application, but it could be switched to alternative views, including a generic folder/file view. Control over what views are available could be constrained by the Space type or explicitly on a Space instance.
It still should be possible to link a standard portlet as an Application Space, but the navigation and interaction will be more loosely-coupled.