replace Plane with axis-aligned Box (because infinite Plane is not usable with kd-tree)
fix memory leak in KdTree::nearest_intersection
rename BBox::R to BBox::H
new file: common.h (Eps and Inf constants)
#include "vector.h"
int main() {
	Vector3 a(1, 2, 3);
	cout << "=== Vector3 test ===" << endl;
	cout << "a = " << a << endl;
	Vector3 b(2, 3, 2);
	cout << "b = " << b << endl;
	
	cout << "a + b = " << a + b << endl;
	cout << "b - a = " << b - a << endl;
	cout << "dot(a,b) = " << dot(a,b) << endl;
	cout << "cross(a,b) = " << cross(a,b) << endl;
	cout << "a * 2 = " << a * 2 << endl;
	cout << "3 * b = " << 3 * b << endl;
	cout << "-a = " << -a << endl;
	cout << "a.mag() = " << a.mag() << endl;
	cout << "a.unit() = " << a.unit() << endl;
	cout << "a.unit().mag() = " << a.unit().mag() << endl;
	return 0;
}