Pro JavaScript RIA Techniques: Best Practices, Performance and Presentation