I use Tortoise SVN usuallly, but I have been looking into Mercurial since it is a distributed revision control system.
What I am looking for, in both systems, is a tool
Check out TortoiseHG, which will do hunk selection and let you commit different changes to one file as to different commits.
It will even let you commit all changes to some files together with partial changes to other files in one commit.
http://tortoisehg.bitbucket.io/