TODO

) Al posto di ERROR usare eccezzioni

) Protocollo per memorizzare la dimensione del file in modo evitare il rischio
  di wrap sul carattere
  ) Con le modalita' attuali di steganografia il rischio e' veramente minimo
  ) Dovrebbe anche permettere il proseguimento della codifica fino ad arrivare
    ad uno stato di terminazione sano (cioe' si termina con una parola
    completa e non con mezze parole o spazi)

) In model::close()
  ) Se non c'e' nessuna emissione di bit per un numero consistente di 
    iterazioni provare a saltare all'indietro di piu' livelli invece che di
    uno solo.
    Si saltano arbitrariamente molti rami ma potrebbe sbloccare una situazione
    in cui la decisione che porta ad una difficile codifica sia molto in
    profondita' nello stack.
    Al limite sostituire questo comportamento al timeout.

) CFG
  ) Prima implementazione solo per funzione di hash, cosi' da non avere
    problemi con grammatiche ambigue, o nel riconoscimento.
  ) Richiesta comunque probabilita' a potenza negativa di 2, altrimenti si
    rischia di sprecare una enorme quantita' di informazione.
  ) Seconda implementazione con grammatiche in forma di Greibach per
    facilitare riconoscimento.
  
