Optimize/Pipeline priority encoder
Currently, there is some ad-hoc pipelining of the priority encoding in LZ77. Since the priority encoder depth scales with the dictionary size, we need a more flexible (parametric) method of pipelining the priority encoder and maintain Fmax when the dictionary size increases.