JavaScript charts framework