javascript geometry and topology tools