In webapps, break each application into html, css, and js files. Backend is unaffected by this change.
Update the readme for speckle server
In xpcs, bring the gpu and cpu calculation methods into better agreement

In webapps, change the way intermediates are labeled to avoid broswer caching effects. Also move the html pages to a separate html directory. Fix a bug in the axis bounds for cdi propagation.
In gpu, add a function which checks the types of gpu_info. Also add a function which runs a small operation on the gpu to check the integrity of the queue and context.
In xpcs, better unify the cpu and gpu codepaths in _g2_numerator. Code is now cleaner and hopefully more easy to understand.
In conditioning, add a gpu code path to remove_hot_pixels. The gpu method is substantially faster than the cpu method due to the speed up of the median filter.
In phasing, minor changes to assertion errors.
In flask_server: correctly implement session lifetimes via session.permanent=True. When a new session is created, check for and delete old data and output so that the server directory does not grow without bound (note that it can still be attacked…)

In other webapp directories: move .html files to their own directory in static/. In xpcs.js, fix a bug in the way regionId was assigned, and display the regionId in the info box on the g2 plot.