What is JavaScript and its features?