What we do currently:
Take a map from a PDF, load in Paint program (paint.net/photoshop/gimp/whatever), create a layer of BLACK over it. Share the screen. The DM slowly erases BLACK as we move and discover the map.
This way, the players cannot see the map. The DM can see the map. The players get to slowly discover the map.
We do dice rolls and type their output into chat. Our player sheets are player sheets, and we scanned and sent pdf's to DM. We keep group inventory via chat. Everything else is basically overkill, because it requires the DM to redesign maps via some web app and DM's already don't have time.
*edit
to be clear. we've looked into them all. the solution above is what we've now been doing for _years_ on our D&D game. Goddamn erake (our BBG).