You can do it by using constraints and passing those to getUserMedia as shown in the links you provided. It's possible that your webcam only supports 640x480 for video and higher resolutions for still images (this is common).
Here's another example, where you can try setting various resolutions and it will print out the corresponding constraints object: http://webrtc.googlecode.com/svn/trunk/samples/js/demos/html/constraints-and-stats.html
For example, to try to force it to 720p at 30FPS:
{
"audio": true,
"video": {
"mandatory": {
"minWidth": "1280",
"maxWidth": "1280",
"minHeight": "720",
"maxHeight": "720",
"minFrameRate": "30"
},
"optional": []
}
}
Note that the current spec does not allow querying the hardware capabilities, due to concerns over privacy due to fingerprinting: http://lists.w3.org/Archives/Public/public-media-capture/2012Jan/0014.html