Add support for non-Gaussian laser profiles
For now, only need to consider axisymmetric profiles. The primary profiles of interest are:
- Top-hat
- Ring/donut (waiting on specific functional form for this one)
For now, only need to consider axisymmetric profiles. The primary profiles of interest are: