Constructions and bounds for visual cryptography