JSON descriptor implemented, refraction tested

Two bugs fixed: 1) a copy-paste typo in KD-tree that may cause missing
pixel. 2) in FindClosestFace, faces behind the light source will not be
counted as blocking.