encontrar duplicatas em uma lista de listas

Eu estou usando o Python 2.7 e estou tentando desduplicar uma lista de listas e mesclar os valores das duplicatas.

Agora eu tenho:

original_list = [['a', 1], ['b', 1], ['a', 1], ['b', 1], ['b', 2], ['c', 2], ['b', 3]]

Eu quero corresponder no primeiro elemento de cada lista aninhada e, em seguida, adicione os valores do segundo elemento. Eu quero acabar com isso (a ordem da lista final não importa):

ideal_output = [['a', 2], ['b', 7], ['c', 2]]

Até agora eu tenho algum código que vai me encontrar os valores duplicados com base no primeiro elemento de cada lista aninhada:

for item in original_list:
    matches = -1
    for x in original_list:
        if (item[0] == x[0]):
            matches += 1
    if matches >= 1: 
        if item[0] not in duplicates_list:
            duplicates_list.append(item[0])

A partir daqui eu preciso procurar por todos os itens da lista de duplicatas que estão na lista original e adicionar os valores, mas não tenho certeza qual é a melhor maneira de fazer isso.