genPOI: add option --skip-players

If one simply wants to add some manual POIs, no player files have to be
parsed.
genPOI: function for doubled code for marker creation

The code creating the actual marker dict out of the entity and the
result of the filter function was almost the same for every set of
entities. Thus it is now a function.
genPOI: unite for-loops with itertools

Since all the POIs are created from different lists, multiple for loops
were used. With itertools.chain these lists can be looped over with only
one for loop thus removing doubled code.
genPOI: use a defaultdict for markers

This is a little faster and make the code a little shorter.
genPOI: generate marker's internal name only once

Why should it be duplicated anyway?
genPOI: use filter functions on the fly

Instead of reading all Players and especially Entities and TileEntities
into RAM and than applying the filter functions onto them, filter
functions are used after each parsed chunk to get only the markers of
this chunk and not all Entities.

This reduced the RAM usage dramatically:
On a 233 MB map over 200 MB of RAM was used before.
Using these changes (and only having two filter functions for signs) not
more than 36 MB of RAM was used.