xy axes as a reusable d3.js component