As Pommie has indicated, complimentary switching is conceptually the simplest/best way to do an H-bridge. The only problem you might run into is you can't simply connect the gates of opposing switches directly, as you have done in your schematic. If you try and do it this way you will get shoot through, due to the asymmetric on/off time of the switches. Not accounting for this will --nine times out of ten-- end in destruction of the switching parts and sadness.
To do the above right you need either one digital pin per gate and the correct dead-time control, properly tuned delay hardware (RC + diode bypass) on your gates, or you need a purpose built driver chip. It is, in fact, more involved than it first appears.
That being said, you actually can use N-FETs all around fairly easily *if* you use boot strapping caps. Though this too is involved, and you can't go up too 100% duty cycle for very long this way. Great for solid state motors, which don't normally drive any one phase to 100% duty cycle.
If all you need is on/off speed control, and you go one direction more than the other, you can go retro and use relays with break before make logic.
This is just about the easiest way to go.
Lastly, an independent supply to give voltage above batt V+ is not as naive as it first appears either. A simple drop in DC-DC boost converter will work fine.
-()b
Edit: MikeMl beat me to shoot-through issue.