Mercurial
Key features:
- Distributed VCS
- Free, open source
- Plugin scripts can be written in Python or as shell scripts
- There are many plugin scripts already freely available
With regard to the use of non-text files, there is a bigfiles extension ( http://mercurial.selenic.com/wiki/BigfilesExtension ) which lets you store your assets in the same Mercurial repo, but only fetch the binaries you need when you need them.