input: Write a python function to count occurrences of each word in a list and return the top N words sorted by their count in descending order.
  assert top_n_words(["Hello", "World", "Hello", "there", "World", "Hello", "Python", "JavaScript", "C++"], 3) == [("Hello", 3), ("World", 2), ("there", 1)]
  assert top_n_words(["apple", "banana", "apple", "orange", "banana", "apple"], 2) == [("apple", 3), ("banana", 2)]
  assert top_n_words(["test", "Test", "TEST", "test"], 1) == [("test", 4)]
output: def top_n_words(word_list, n):
      from collections import Counter
  
      word_count = Counter(word_list)
      top_n = word_count.most_common(n)
      
      return top_n