Prepare a 12x16 inch cookie sheet by lining it with aluminum foil and spraying it with nonstick cooking spray.
Combine the butter, sugar, water, corn syrup, and salt in a large heavy saucepan over medium heat. Stir constantly to dissolve the sugar and melt the butter. Insert a candy thermometer and bring the candy to a boil periodically brushing down the sides with a wet pastry brush to prevent crystallization.
Continue to cook the candy, stirring frequently, until it reaches 300 degrees. If the candy appears to separate (with a layer of melted butter on top) stir vigorously until it comes back together again. Watch the candy as it approaches 300 since it cooks quickly and can scorch at high temperatures.
Once the candy reaches 300 degrees remove from heat and pour it onto the prepared baking sheet. Use a spatula or spoon to spread the candy to an even thickness. Allow the toffee to begin to set then spray a knife with nonstick cooking spray and score the toffee into small squares or rectangles. Allow the toffee to cool completely.
Once the toffee is cool, break it apart on the scored lines into small squares. The toffee can be left plain or dipped in chocolate.
To make toffee baking pieces, place the toffee in a ziploc bag and crush using a wooden mallet or rolling pin until you have roughly uniform pieces.
While some people are able to check the "temperature" of candy by dropping a small amount in cold water (a trick my grandmother used, but I never got the hang of) I recommend using a candy or instant read thermometer for this recipe.
Most toffee recipes call for nuts, usually almonds, either in the candy itself, or in the chocolate coating. I started making my own toffee, excluding the nuts, so that the many people I know with nut allergies could also enjoy the candy.