Some fixes to lilypads

* Fixed placement on lava
* Fixed placement on side of blocks
* Fixed placement through blocks
+ Added washing-away of pads
* Improved code cleanliness and hook interfacing through changing
signature of GetPlacementBlockTypeMeta()
+ Added ice as a block that fully occupies its voxel
Fixed block interaction check not working
Fixed a potential crash