4 Bugfixes & 4 Updates

About Bugfixes:
1. Fix bug that border-image test is incorrect
According to [CSS Backgrounds and Borders Module Level 3](http://www.w3.org/TR/css3-background/), border-image property's fourth value is border-image-outset property's value, not border-image-width property's value. border-image-outset property doesn't accept a percentage value.
>Name: 	border-image
>Value: \<‘border-image-source’\> || \<‘border-image-slice’\> [ / \<‘border-image-width’\> | / \<‘border-image-width’\>? / __\<‘border-image-outset’\>__ ]? || \<‘border-image-repeat’\>

http://www.w3.org/TR/css3-background/#the-border-image
>Name: 	border-image-outset
>Value: 	[ \<length\> | \<number\> ]{1,4}

http://www.w3.org/TR/css3-background/#border-image-outset  
2. Fix bug that Media Queries's "not" keyword test is incorrect
According to [Media Queries](http://www.w3.org/TR/css3-mediaqueries/), "not" keyword cannot be put in expression.
>media_query_list
> : S* [media_query [ ',' S* media_query ]* ]?
> ;
>media_query
> : [ONLY | NOT]? S* media_type S* [ AND S* expression ]*
> | expression [ AND S* expression ]*
> ;
>media_type
> : IDENT
> ;
>expression
> : '(' S* media_feature S* [ ':' S* expr ]? ')' S*
> ;
>media_feature
> : IDENT
> ;

http://www.w3.org/TR/css3-mediaqueries/#syntax  
3. Fix bug that cursor test is incorrect 
According to [CSS Basic User Interface Module Level 3](http://dev.w3.org/csswg/css3-ui/), in case of image cursors, cursor property is two-value syntax, not one-value syntax.
>Name: 	cursor
>Value: [ [\<uri\> [\<x\> \<y\>]?,]* [ auto | default | none | context-menu | help | pointer | progress | wait | cell | crosshair | text | vertical-text | alias | copy | move | no-drop | not-allowed | e-resize | n-resize | ne-resize | nw-resize | s-resize | se-resize | sw-resize | w-resize | ew-resize | ns-resize | nesw-resize | nwse-resize | col-resize | row-resize | all-scroll | zoom-in | zoom-out ] ] | inherit 

http://dev.w3.org/csswg/css3-ui/#cursor  
4. Remove border-width from properties of Values and Units
According to [CSS Backgrounds and Borders Module Level 3](http://www.w3.org/TR/css3-background/) and [CSS Values and Units Module Level 3](http://dev.w3.org/csswg/css3-values/), border-width property doesn't accept a value containing the percentage, like __"calc(100%/3 - 2*1em - 2*1px)"__.
>\<border-width\> = \<length\> | thin | medium | thick

http://www.w3.org/TR/css3-background/#ltborder-widthgt

>If percentages are accepted in the context in which the expression is placed, a PERCENTAGE token has the type of the value that percentages are relative to; otherwise, a math expression containing percentages is invalid.

http://dev.w3.org/csswg/css3-values/#calc-type-checking
<br><br><br>
About Updates:
1. Update Text
I added support for [CSS Text Decoration Module Level 3](http://dev.w3.org/csswg/css-text-decor-3/).
According to [CSS Text Module Level 3](http://dev.w3.org/csswg/css3-text/), [CSS Text Decoration Module Level 3](http://dev.w3.org/csswg/css-text-decor-3/) is a spec separating from [CSS Text Module Level 3](http://dev.w3.org/csswg/css3-text/).
>Shifted text decoration chapter to a separate Text Decoration module

http://dev.w3.org/csswg/css3-text/#recent-changes  
2. Update Text Decoration 
According to [CSS Text Decoration Module Level 3](http://dev.w3.org/csswg/css-text-decor-3/)...
* text-decoration-skip: add "box-decoration"

>Name: 	text-decoration-skip
>Value: none | [ objects || spaces || ink || edges || box-decoration ]

http://dev.w3.org/csswg/css-text-decor-3/#text-decoration-skip-property
* text-underline-position: change "below" to "under"

>Name: 	text-underline-position
>Value: auto | alphabetic | [ under || [ left | right ] ]

http://dev.w3.org/csswg/css-text-decor-3/#text-underline-position-property
* text-emphasis-position: change "above" and "below" to "over" and "under"

>Name: 	text-emphasis-position
>Value: [ over | under ] && [ right | left ]

http://dev.w3.org/csswg/css-text-decor-3/#text-emphasis-position-property  
3. Update Fonts
According to [CSS Fonts Module Level 3](http://dev.w3.org/csswg/css3-fonts/)...
* font-variant-ligatures: add "contextual" and "no-contextual"

>Name: 	font-variant-ligatures
>Value: normal | none | [ \<common-lig-values\> || \<discretionary-lig-values\> || \<historical-lig-values\> || \<contextual-alt-values\> ]
>\(snip\)
>\<common-lig-values\>        = [ common-ligatures | no-common-ligatures ]
>\<discretionary-lig-values\> = [ discretionary-ligatures | no-discretionary-ligatures ]
>\<historical-lig-values\>    = [ historical-ligatures | no-historical-ligatures ]
>\<contextual-alt-values\>    = [ contextual | no-contextual ]

http://dev.w3.org/csswg/css3-fonts/#font-variant-ligatures-prop
* font-variant-alternates: remove "contextual" and "no-contextual"

>Name: 	font-variant-alternates
>Value: normal | [ stylistic(\<feature-value-name\>) || historical-forms || styleset(\<feature-value-name\>#) || character-variant(\<feature-value-name\>#) || swash(\<feature-value-name\>) || ornaments(\<feature-value-name\>) || annotation(\<feature-value-name\>) ]

http://dev.w3.org/csswg/css3-fonts/#font-variant-alternates-prop
* font-variant: add "none"

>Name: 	font-variant
>Value: normal | none | [ \<common-lig-values\> || \<discretionary-lig-values\> || \<historical-lig-values\> || \<contextual-alt-values\> || stylistic(\<feature-value-name\>) || historical-forms || styleset(\<feature-value-name\>#) || character-variant(\<feature-value-name\>#) || swash(\<feature-value-name\>) || ornaments(\<feature-value-name\>) || annotation(\<feature-value-name\>) || [ small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps ] || \<numeric-figure-values\> || \<numeric-spacing-values\> || \<numeric-fraction-values\> || ordinal || slashed-zero || \<east-asian-variant-values\> || \<east-asian-width-values\> || ruby ]

http://dev.w3.org/csswg/css3-fonts/#font-variant-prop  
4. Update Writing Modes 
According to [CSS Writing Modes Module Level 3](http://dev.w3.org/csswg/css3-writing-modes/)...
* unicode-bidi: add "isolate-override"

>Name: 	unicode-bidi
>Value: normal | embed | isolate | bidi-override | isolate-override | plaintext

http://dev.w3.org/csswg/css3-writing-modes/#unicode-bidi
* text-orientation: change "mixed-right" to "mixed"

>Name: 	text-orientation
>Value: mixed | upright | sideways-right | sideways-left | sideways | use-glyph-orientation

http://dev.w3.org/csswg/css3-writing-modes/#text-orientation
* text-combine-horizontal: remove "numeric 2", "digits 2", "alpha 2", "latin 2", "alphanumeric 2"

>Name: 	text-combine-horizontal
>Value: none | all

http://dev.w3.org/csswg/css3-writing-modes/#text-combine-horizontal
* remove text-combine-mode

>Removed ‘text-combine-mode’ property.

http://dev.w3.org/csswg/css3-writing-modes/#recent-changes