Cytoscape JS[1] with canvas rendering. Probably won't be able to do a billion nodes, but the last time I compared graph rendering libraries it was the best one in terms of performance/customizability. If you need even more performance, there's VivaGraphJS[2], which uses webgl to render.
If you want other resources, I also have a GitHub list of Graph-related libraries (visualizations etc.) on GitHub[3].
It does tend to “hairball” (technical term) at about 500+ nodes. That’s not the tools fault, just large graphs tend to be difficult.
It’s just hard to imagine visualizing a million plus nodes without doing some clustering first.