add a global spinner and then update all AJAX requests to handle the spinner. closes #16