TODO
dmi: proper boundary conditions
web: minor cleanup
fused exchange+dmi kernel with boundary conditions
add notes to dmi.cu
move problem-specific functionality to ext/ package
add extensions: domain wall position, velocity, tilt