What you are describing can be done on top of Bitcoin itself using colored coins.
With colored coins, an issuer would have a reserve in USD, and issue a "USD-coin" per every USD they have in the reserve. They can then accept deposits from people, and give them USD-coins in exchange. They also offer to redeem every USD-coin for an actual USD.
Those coins can then be sent, received and used for payments like "normal" Bitcoins.
Because those USD-coins are backed by a reserve, they can't be minable, and therefore can't live on their own secure Blockchain. This is why using the actual Bitcoin blockchain as the infrastructure combines best of both worlds.