Only layout a paragraph when something changes.
Remove unnecessary block resetting
Merge pull request #1 from ricochet1k/faster-field-changes

Paragraph layout only if necessary
Re-jig block layout algorithm

The block layout algorithm no longer attempts to layout the entire block and instead proceeds directly to word-by-word layout. This avoids a very slow text length calculation for blocks that are too large to fit in the text measurement cache (currently 128 bytes).
Fix bug in text measurement cache

When the hash table reached max occupancy, the eviction code would enter an infinite loop.
Change hash function used for text measurement cache

Previously, the hash used by the ELF file for symbol lookups was used. This was not very suitable and led to frequent collisions; the average lookup time in the cache was linear in the number of occupied buckets instead of constant. It has been replaced with the 32-bit variety of the FNV-1a hash and performance is (nearly) constant regardless of table occupancy.
Ensure field attribute changes cause paragraph re-layout

Some of the cases forcing layout may not be necessary. More study is required.
[[ FasterField ]] Added referencing comments for ricochet1k's contribution.
Merge branch 'feature-faster_field' into develop
Merge branch 'develop' of https://github.com/runrev/livecode into develop