Fixed Lasers and added rotation support

Things it still doesn't do:
-blueprints are not persistent between sessions
-serialization code isn't being called and needs a rewrite
-material usage is not implemented
-path building doesn't exist
-vanilla block handlers don't exist
-templates don't work