Can someone familiar with d3 describe why you'd use it instead of the many libraries that use it under the hood? For example, I think either bokeh or plotly uses it, but you don't have to learn any of the d3 details, and also have more capabilities like webgl.