ADDED: initialiser and properties to Surface class
ADDED: constructors, resize and evaluate_at method to Surface class
FIXED: minor bug fixes