Mercurial has a way to do it if you want to rename them in all revisions back to the start of time (and thus change history and invalidate any clones), but since you probably don't want do do that you can just do:
for thefile in $(find $(hg root) -name '*.h') ; do hg rename $thefile ${thefile}pp ; done