I'm developing a website/portal that works like a community and with special features like a social network.

The most important things I need are the following:

- User Images in comments and forums, but also on who's online block.
- Content with links to the relative image gallery uploaded by users on approval queue.
- Chat and if possible videochat.
- User friends (with "online friends" and 1-1 chat) and user messages
- Voting feature on pages

Some of theses features are fullfilled by mixing modules and modifyng them, but they're not perfect.

Are there modules with these scopes, working and that don't need many adjustments?

And what are the best modules for a Drupal social network, community?