extend 2d reinitialize method using implicit heat equation
add 2d test case; get reinitialize2d working

test case has a square "ice cube"; starts with analytical phi, although
reinitialize! doesn't make a bad approximation if care is taken with the
numerican diffusion
tweak tsolve! for 2d

tsolve! should basically work for nd. the assemble_mat function is limited to 2d
for now. solutions look qualitatively reasonable, but require validation testing