handle attrib in Layer, don't use map layeradd/remove (perf)

otherwise thousands of markers/vectors will trigger layeradd and check
for attributions, this is waste of resources
faster on/off, add private non-sugary versions
only propagate events if given true to fire, #2311