lib: add validation of x,y,z named args as being numeric
lib: added some new validation logic to preprocessor - so it raises more useful errors when things are given unacceptable arguments. Fixed oozby_alias too, so now hexagon and hexagonal_prism and it's friends are happy again