This might be worded wrongly, but if you hide the mouse and use the Mouse Pointer Lock extension, you can rotate the camera on the X and Y using MouseMovementX() and MouseMovementY() (or something like that.)
If you want it so he doesnt just walk straight into where you are looking (aka if you want a minecraft like game) you would make a cube, and set the cameras position to that cube at every frame, then position the cube for moving and rotate the camera for the head looking around. Sorry. That's a lot. Hopefully that helped!