Why is Java called 'hybrid'?