How to build a JavaScript-based network graph visualization?