I was recently thinking about similar problem and an idea I came up with but not tested yet is to use an integrated half bridge driver.
Those things have one input and two outputs. If the input is low, the "low" output is driven high and the "high" input is driven low. If the input is high, vice versa. This is intended to drive a pair of FETs implementing a half bridge, but connecting load directly between the two driver outputs makes it a full bridge. There will be "dead time" during transitions when both outputs are held low for a microsecond or so.
An RC network between the low output and input will ensure oscillation if the driver has input hysteresis. They usually do.
Then there is IR2151, a self-oscillating half bridge driver, designed for self-clocking. Not sure if there are alternatives for 5V, though. You can certainly get normal drivers rated for 5V operation and do the input hysteresis trick.
The "high" output has separate supply, called Vs and Vb in IR datasheets. This would go to GND and VCC.